package bbalgae;

public class J24_CompareObject {

	/**
	 * 객체 비교하기 "내 차 색상과 당신 차 색상이 똑같다" "내 차와 당신 차가 똑같다" (상태,색상,종류) 클래스의 객체는 실제
	 * 데이터가 저장된 주소를 가지고 있기 때문에 단순비교 == 로는 객체가 서로 같은지 알 수 없음. 자바에서는 기본적으로 객체를 비교할
	 * 때 equals, hashCode 메소드를 이용한다. 또한, 유틸리티 클래스인 Comparable, Comparator 등을
	 * 이용하기도 함.
	 * 
	 * 참고로, String 객체를 비교할때에는 equals메소드를 이용해서 비교헤야한다.	77

	 */
	public static void main(String[] args) {

		CarVO mycar = new CarVO("새것", "Red", "스포츠카");

		CarVO yourcar = new CarVO("새것", "Red", "스포츠카");
		System.out.println(mycar);
		System.out.println(yourcar);
		if (mycar == yourcar)
			System.out.println("같다");
		else
			System.out.println("다름");
		/************************************************/

		if (mycar.color == yourcar.color)
			System.out.println("같다");
		else
			System.out.println("다름");

		/************************************************/

		String char1 = "가";
		String char2 = "나";

		if (char1 == char2)
			System.out.println("같다");
		else
			System.out.println("다름");

		/************************************************/

		String char3 = "나";
		String char4 = "나";

		if (char3.equals(char4))
			System.out.println("같다");
		else
			System.out.println("다름");

		/************************************************/

		String char5= new String("다");
		String char6 =new String ("다");
		

		if (char5==char6  ){
			System.out.println("같다");
		}else{
			System.out.println("다름");
		}
		if (char5.equals(char6)  )
			System.out.println("같다");
		else
			System.out.println("ㅗ");
		
	}

}

class CarVO {
	public String status;
	public String color;
	public String type;

	public CarVO() {
	};

	public CarVO(String status, String color, String type) {
		this.status = status;
		this.color = color;
		this.type = type;

	}

}
